package com.ssm.changeunit.persistance;

import java.util.List;

/**
 * "Tag" 테이블을 관리하는 DAO의 추상 클래스
 * 
 * @author 시리우스
 */
public abstract class AbstractTagDAO extends AbstractDAO {
    /**
     * 검색
     * 
     * @param tagName
     * @return
     * @throws com.ssm.changeunit.persistance.PersistanceException
     */
    public abstract TagDTO find(String tagName) throws PersistanceException;
    
    
    public abstract List<TagDTO> findByChangeUnitId(String changeUnitId) throws PersistanceException;
                
    /**
     * 리스트 전부 검색
     * 
     * @return
     * @throws com.ssm.changeunit.persistance.PersistanceException
     */
    public abstract List<TagDTO> list() throws PersistanceException;
    
    /**
     * 삽입
     * 
     * @param tagDTO
     * @throws com.ssm.changeunit.persistance.PersistanceException
     */
    public abstract void insert(TagDTO tagDTO) throws PersistanceException;
    
    /**
     * 업데이트
     * 
     * @param tagDTO
     * @throws com.ssm.changeunit.persistance.PersistanceException
     */
    public abstract void update(TagDTO tagDTO) throws PersistanceException;
    
    /**
     * 삭제
     * 
     * @param tagName
     * @throws com.ssm.changeunit.persistance.PersistanceException
     */
    public abstract void delete(String tagName) throws PersistanceException;
}
